/*------------------------------------------------------*/
/*----------------Retourne un objet Ajax----------------*/
/*------------------------------------------------------*/
function getXhrObject() {
	if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	if (window.ActiveXObject) {
		var names = [ "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP", "Microsoft.XMLHTTP" ];
		for ( var i in names) {
			try {
				return new ActiveXObject(names[i]);
			} catch (e) {
				// Nothing
			}
		}
	}
	window.alert("Le navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
	return null;
}

/*------------------------------------------------------*/
/*------------------------------------------------------*/
/*------------------------------------------------------*/
function switchCheckbox() {
	if (this.checked)
		this.checked = false;
	else
		this.checked = true;
}

/*--------------------------------------------------------------------------------*/
/*--------Récupère les modules de manière asynchrone -----------------------------*/
/*--------------------------------------------------------------------------------*/
function getModules(xml_file, id_dest) {
	xhr = getXhrObject();
	var codeHTML = "<center><BR>Chargement des modules de votre formation.<BR><BR> ";
	codeHTML +=	"<img src='images/bigLoad.gif' /></center>";
	document.getElementById(id_dest).innerHTML = codeHTML;
	xhr.open("POST", "src/getModules.php", true);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById(id_dest).innerHTML = xhr.responseText;
		}
	};
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var params = "xml_file=" + xml_file;
	xhr.send(params);
}

/*------------------------------------------------------*/
/*---------------Met à jour les modules-----------------*/
/*------------------------------------------------------*/
function updateModules() {
	var index = document.getElementById('formationList').selectedIndex;
	var xml_file = document.getElementById('formationList')[index].value;
	document.getElementById('calendrier_ics').innerHTML = "";
	if (xml_file != '')
		getModules(xml_file, 'modules');
}

/*---------------------------------------------------------------------------------------------------*/
/*------------Récupère la valeur des objets de nom 'element' et les concatène en une chaine----------*/
/*---------------------------------------------------------------------------------------------------*/
function fromElementsToString(element) {
	var str_elements = new String();
	var elements = document.getElementsByName(element);
	for ( var i = 0; i < elements.length; i++) {
		if (elements[i].checked) {
			str_elements += elements[i].value;
			if (i != elements.length - 1)
				str_elements += "|";
		}
	}
	return str_elements;
}

/*-------------------------------------------------------------*/
/*------------Génère le lien vers le calendrier----------------*/
/*-------------------------------------------------------------*/
function makeICS() {
	var id_dest = 'calendrier_ics';

	// Récupération des modules choisis
	var str_modules = fromElementsToString('module');

	// Récupération des categories choisis
	var str_categories = fromElementsToString('categorie');

	// Récupération du fichier xml
	var index = document.getElementById('formationList').selectedIndex;
	var xml_file = document.getElementById('formationList')[index].value;


	var codeHTML = '<BR><BR> <form name="getICS" action="src/makeICS.php" method="POST">';
	codeHTML += '<input type="hidden" value="' + str_modules + '" name="str_modules">';
	codeHTML += '<input type="hidden" value="' + str_categories + '" name="str_categories">';
	codeHTML += '<input type="hidden" value="' + xml_file + '" name="xml_file">';	
	codeHTML += '<BR>[ <a href="javascript:document.getICS.submit();">Télécharger le fichier ICS</a> ]</form>';	
	codeHTML +='<BR><i>Aprés avoir cliqué patientez quelques secondes...</i><BR><i>Si vous rencontrez des bugs n\'hesitez pas à nous contacter à nos adresses mails étudiantes (voir nos Noms dans le pied de page).</i>';

	document.getElementById(id_dest).innerHTML = codeHTML;
}


